
/*
El inventario de un almacen de articulos deportivos se desea guardar en un array. 
Articulos con los campos nombre, numero de codigo(seis digitos), numero de articulos y 
precio. Se desea un programa que almacene el inventario en la estructura adecuada, ademas 
debe presentar las siguientes opciones: visualizacion de todo el inventario busqueda de un 
articulo por el numero de codigo, actualizacion(altas bajas modificaciones de articulos) 
ordenacion alfabetica por nombre y ordenacion decreciente por numero de articulo. 
*/

#include <conio.h>
#include <stdio.h>
#define N 100

/*****************************************************************************************/
/*Estructuras*/

typedef struct
{
	char 	nombre[50];
	char 	codigo[7];
	int 	numero;
	float precio;
} Sarticulo;

typedef enum {verdadero, falso} booleano;

/*****************************************************************************************/
/*Prototipos*/

void inicializa(Sarticulo *);     /*Inicializamos la estructura*/
void menu		(Sarticulo *);				 /*Ofrece menú y actúa en consecuencia*/
void altas					(Sarticulo *);	/*Altas de artículos*/
void modificacion			(Sarticulo *);	/*Modificación de artículos*/
void bajas					(Sarticulo *);	/*Bajas de artículos*/
void busqueda				(Sarticulo *);	/*Búsqueda de artículo por código*/
void listadoalfabetico	(Sarticulo *); /*Listado alfabético por nombre*/
void listadocodigo		(Sarticulo *); /*Listado decreciente por código*/

/*****************************************************************************************/
void inicializa(Sarticulo *articulos)     /*Inicializamos la estructura*/
/*Son N articulos*/
{
	/*construir vosotros la función*/
}
/*****************************************************************************************/
void altas					(Sarticulo *articulos)	/*Altas de artículos*/
{
	/*Función sin terminar*/
}
/*****************************************************************************************/
void modificacion			(Sarticulo *articulos)	/*Modificación de artículos*/
{
	/*Función sin terminar*/
}
/*****************************************************************************************/
void bajas					(Sarticulo *articulos)	/*Bajas de artículos*/
{
	/*Función sin terminar*/
}
/*****************************************************************************************/
void busqueda				(Sarticulo *articulos)	/*Búsqueda de artículo por código*/
{
	/*Función sin terminar*/
}
/*****************************************************************************************/
void listadoalfabetico	(Sarticulo *articulos) /*Listado alfabético por nombre*/
{
	/*Función sin terminar*/
}
/*****************************************************************************************/
void listadocodigo		(Sarticulo *articulos) /*Listado decreciente por código*/
{
	/*Función sin terminar*/
}

/*****************************************************************************************/
void menu		(Sarticulo *articulos)				 /*Ofrece menú y actúa en consecuencia*/
/*Son N artículos*/
{
	booleano correcto;
	char opcion;

	correcto=falso;
	do
	 {
		clrscr();
		printf("MENU:\n");
		printf("1.- ALTAS de artículos\n");
		printf("2.- MODIFICACIONES de artículos\n");
		printf("3.- BAJAS de artículos\n");
		printf("4.- Búsqueda de artículo por código.\n");
		printf("5.- Listado alfabético por nombre.\n");
		printf("6.- Listado decreciente por código.\n");
		printf("7.- Salir\n");
		printf("\Elija opcion (1-7)");
		opcion=getche();

		switch (opcion)
		{
			case '1': altas				(articulos);	break;
			case '2': modificacion		(articulos);	break;
			case '3': bajas				(articulos);	break;
			case '4': busqueda			(articulos);	break;
			case '5': listadoalfabetico(articulos);	break;
			case '6': listadocodigo		(articulos);	break;
			case '7': correcto=verdadero; 				break;
			default: correcto=falso;
		}
	 }
	while (correcto==falso);
}

/*****************************************************************************************/
void main(void)
{
 Sarticulo articulos[N];
 Sarticulo *ptro;

 clrscr();
   
   ptro=articulos;   
   
   inicializa(ptro);     /*Inicializamos la estructura*/
   menu(ptro);				 /*Ofrece menú y actúa en consecuencia*/
   		  
}
/*****************************************************************************************/